/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.seguradora.model;

import br.com.seguradora.model.constant.StatusPlano;
import br.com.seguradora.util.DateFormatter;
import com.towel.el.annotation.Resolvable;
import java.util.Date;

/**
 *
 * @author Diego
 */
public class Plano {

    @Resolvable(colName = "Código")
    private long id;
    @Resolvable(colName = "Veículo")
    private Veiculo veiculo;
    @Resolvable(colName = "Data de entrada", formatter = DateFormatter.class)
    private Date dataEntrada;
    @Resolvable(colName = "Data de vencimento", formatter = DateFormatter.class)
    private Date dataVencimento;
    @Resolvable(colName = "Status")
    private StatusPlano status;
    @Resolvable(colName = "Placa")
    private String placa;
    @Resolvable(colName = "Associado")
    private String associado;

    public Plano() {
    }

    public Plano(long id) {
        this.id = id;
    }

    public Plano(Veiculo veiculo, Date dataEntrada, Date dataVencimento, StatusPlano status) {
        this.veiculo = veiculo;
        this.dataEntrada = dataEntrada;
        this.dataVencimento = dataVencimento;
        this.status = status;
    }

    public Date getDataEntrada() {
        return dataEntrada;
    }

    public void setDataEntrada(Date dataEntrada) {
        this.dataEntrada = dataEntrada;
    }

    public Date getDataVencimento() {
        return dataVencimento;
    }

    public void setDataVencimento(Date dataVencimento) {
        this.dataVencimento = dataVencimento;
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public StatusPlano getStatus() {
        return status;
    }

    public void setStatus(StatusPlano status) {
        this.status = status;
    }

    public Veiculo getVeiculo() {
        return veiculo;
    }

    public void setVeiculo(Veiculo veiculo) {
        this.veiculo = veiculo;
        this.placa = veiculo.getPlaca();
        if (veiculo.getAssociado() != null) {
            this.associado = veiculo.getAssociado().getId() + " - " + veiculo.getAssociado().getNome();
        }
    }
}
